TTL এর মাধ্যমে Storage Optimization

Database Tutorials - ডাইনামোডিবি (DynamoDB) DynamoDB TTL (Time to Live) কনফিগারেশন |
197
197

DynamoDB TTL (Time-to-Live) একটি কার্যকরী ফিচার যা আপনাকে ডেটার সঞ্চয়স্থানের (storage) ব্যবহার অপটিমাইজ করতে সহায়তা করে। TTL এর মাধ্যমে আপনি নির্দিষ্ট সময় পর পুরনো বা অপ্রয়োজনীয় ডেটা স্বয়ংক্রিয়ভাবে মুছে ফেলার নিয়ম সেট করতে পারেন। এর ফলে, টেবিলের সঞ্চয়স্থান কার্যকরভাবে ব্যবহৃত হয় এবং আপনার ডেটাবেসের খরচ কমিয়ে আনা যায়।

TTL কী?

TTL (Time-to-Live) হল একটি সময়সীমা যা নির্দিষ্ট করে দেয় যে কোনো আইটেম কতদিন ধরে DynamoDB টেবিলের মধ্যে থাকবে। একবার TTL শেষ হয়ে গেলে, ডেটাটি DynamoDB দ্বারা স্বয়ংক্রিয়ভাবে মুছে ফেলা হয়। এটি একটি "expiry time" হিসেবে কাজ করে, যা নির্ধারিত সময় পর ডেটা মুছে দেয়।

TTL সাধারণত কার্যকরী হয় এমন ডেটার জন্য যেমন:

  • Session Data (যেমন: লগইন সেশন)
  • Temporary Data (যেমন: ক্যাশড ডেটা)
  • Expired Content (যেমন: ডিলিস্টেড প্রোডাক্ট বা ইভেন্ট)

TTL এর সুবিধা:

  1. Storage Optimization: TTL এর মাধ্যমে আপনি পুরনো বা অপ্রয়োজনীয় ডেটা নিজে ম্যানুয়ালি মুছে না ফেলে স্বয়ংক্রিয়ভাবে মুছে ফেলা নিশ্চিত করতে পারেন। এতে করে আপনার টেবিলের সঞ্চয়স্থান খালি থাকে এবং অপটিমাইজড থাকে।
  2. Cost Savings: টেবিলের মধ্যে অপ্রয়োজনীয় ডেটা থাকার কারণে ডেটাবেস খরচ বৃদ্ধি পেতে পারে। TTL ব্যবহার করলে পুরনো ডেটা মুছে গেলে আপনি খরচ সাশ্রয় করতে পারেন।
  3. Performance Improvement: পুরনো ডেটা মুছে ফেলার ফলে আপনার কুয়েরি এবং ডেটাবেস অপারেশনগুলি দ্রুত হতে পারে, কারণ টেবিলের আকার কমে যায়।
  4. Automation: TTL হল একটি সম্পূর্ণভাবে স্বয়ংক্রিয় প্রক্রিয়া, যার জন্য আপনাকে ডেটা ম্যানুয়ালি মুছে ফেলতে হয় না। এটি সময় এবং শ্রম বাঁচায়।

TTL কিভাবে কাজ করে?

  1. TTL Attribute: প্রথমে আপনি DynamoDB টেবিলের জন্য একটি TTL অ্যাট্রিবিউট নির্বাচন করবেন। সাধারণত এটি একটি timestamp হিসেবে থাকে (যেমন expirationTime অ্যাট্রিবিউট)। এই অ্যাট্রিবিউটটি সঠিকভাবে সেট করার মাধ্যমে আপনি ডেটার "expiry time" নির্ধারণ করতে পারবেন।
  2. Setting TTL: আপনি যখন একটি নতুন আইটেম ইনসার্ট করেন বা এক্সিস্টিং আইটেম আপডেট করেন, তখন একটি TTL ভ্যালু প্রদান করবেন যা ডেটার মেয়াদ শেষ হওয়ার সময়টিকে নির্দেশ করবে। সাধারণত, TTL ভ্যালু একটি Unix timestamp হিসেবে হয় (যেমন ২০২৫ সালের জানুয়ারি ১ তারিখের জন্য timestamp: 1735670400 )।
  3. Automatic Deletion: যখন ডেটার TTL এর সময়সীমা শেষ হয়, DynamoDB স্বয়ংক্রিয়ভাবে সেই ডেটা মুছে ফেলে। এটি সম্পূর্ণরূপে ক্লাউড-ভিত্তিক এবং পরিচালিত, তাই আপনাকে ম্যানুয়ালি ডেটা মুছতে হবে না।

TTL কনফিগারেশন ও ব্যবহারের উদাহরণ:

১. TTL সক্রিয় করা:

  1. DynamoDB Console এ যান।
  2. আপনার টেবিল নির্বাচন করুন।
  3. Overview ট্যাবের নিচে Time to Live (TTL) অপশন খুঁজুন।
  4. Enable TTL বাটনে ক্লিক করুন।
  5. TTL attribute name দিন (যেমন: expirationTime), এবং সেভ করুন।

২. Data Insert করা TTL সহ:

DynamoDB এ আইটেম ইনসার্ট করার সময় TTL অ্যাট্রিবিউট যোগ করা হয়। উদাহরণস্বরূপ, যদি আপনি 1 দিনের মধ্যে একটি ডেটা মুছে ফেলতে চান, তাহলে:

{
   "UserID": "user123",
   "SessionID": "abcxyz",
   "expirationTime": 1672531199  // Unix timestamp for expiration (24 hours from now)
}

৩. Data Update করা TTL সহ:

একইভাবে, যদি আপনাকে কোনও ডেটা আপডেট করতে হয় এবং নতুন TTL অ্যাট্রিবিউট সেট করতে হয়, আপনি এইভাবে করতে পারেন:

aws dynamodb update-item \
    --table-name Sessions \
    --key '{"UserID": {"S": "user123"}}' \
    --update-expression "SET expirationTime = :exp" \
    --expression-attribute-values '{":exp": {"N": "1672531199"}}'

TTL ব্যবহারের সতর্কতা:

  1. Consistency: TTL হল একটি ব্যাচ প্রসেস, যার ফলে কখনও কখনও এটি ডেটা মুছে ফেলার জন্য কিছু সময় নিতে পারে। এটি পুরোপুরি "real-time" নয়।
  2. Delete Delay: ডেটা TTL এর সময়সীমা অতিক্রম করার পর কিছু বিলম্ব হতে পারে যাতে ডেটা মুছে ফেলা হয়। কিন্তু এই বিলম্বটি সাধারণত কয়েক মিনিটের মধ্যে ঘটে।
  3. Logging: TTL এর কারণে মুছে যাওয়া ডেটা জন্য কোনো লোগিং নেই, তাই যদি আপনি মুছে যাওয়া ডেটা রেকর্ড করতে চান, তাহলে আলাদাভাবে লগিং ব্যবস্থার প্রয়োজন হতে পারে।

TTL এর মাধ্যমে Storage Optimization এর উপকারিতা:

  • Automated Cleanup: পুরনো এবং অপ্রয়োজনীয় ডেটা ম্যানুয়ালি মুছে ফেলা থেকে মুক্তি পেয়ে, ডেটাবেস সঞ্চয়স্থান অপটিমাইজ করা সম্ভব।
  • Cost Management: DynamoDB তে খরচ ডেটার আকার এবং প্রক্রিয়াকৃত আইটেমের উপর নির্ভরশীল। TTL ডেটার আকার কমিয়ে খরচ সাশ্রয় করতে সাহায্য করে।
  • Improved Performance: পুরনো বা অপ্রয়োজনীয় ডেটা মুছে ফেলার ফলে কুয়েরি পারফরম্যান্সে উন্নতি হয় এবং দ্রুত ফলাফল পাওয়া যায়।

TTL হল DynamoDB টেবিলের মধ্যে অপ্রয়োজনীয় ডেটা স্বয়ংক্রিয়ভাবে মুছে ফেলার একটি কার্যকরী উপায়, যা আপনার ডেটাবেসের সঞ্চয়স্থান, পারফরম্যান্স, এবং খরচ অপটিমাইজ করতে সাহায্য করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion